<?php

class MyDataFilter extends CComponent
{
	private $_filters = array();
	
    public function getFilters()
    {
        return $this->_filters;
    }
    
    // вызываеться c MyActiveDataProvider c setFilter с конструктора
    public function addFilters($value)
    {
    	foreach($value as $k=>$v)
    		$filter = Yii::createComponent($v, $this);
    		if ($filter!==null)
    			$this->_filters[] = $filter;
    }
	// вызываеться с MyActiveDataProvider во время fetchData
	public function applyCriteria($criteria)  //(&$criteria)
	{
		foreach ($this->_filters as $filter) {
			if ($filter->hasValue())
			$filter->applyCriteria($criteria);
		}
	}
}